package com.atguigu.yygh.cmn.excel;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.Map;

/**
 * @author mgx
 * @version 1.0
 * @description: TODO
 * @date 2022/8/23 22:05
 */
public class StudentListener extends AnalysisEventListener<Student> {
    // 执行时机：excel每解析一条数据，都会执行一次invoke方法
    @Override
    public void invoke(Student student, AnalysisContext analysisContext) {
        System.out.println(student);
    }

    // 执行时机：刚开始读取第一行数据时，会解析表头信息
    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
        System.out.println(headMap);
    }

    // 执行时机：当所有数据解析完成之后，进行收尾工作：关闭连接，或者再次检测批量操作的数据是否完成了，再处理一次
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }
}
